diff --git a/tests/mocks/core/lang.php b/tests/mocks/core/lang.php
index 1b99aed..27ea3fa 100644
--- a/tests/mocks/core/lang.php
+++ b/tests/mocks/core/lang.php
@@ -2,12 +2,12 @@
 
 class Mock_Core_Lang extends CI_Lang {
 
-	function line($line = '')
+	public function line($line = '')
 	{
 		return FALSE;
 	}
 
-	function load($langfile, $idiom = '', $return = false, $add_suffix = true, $alt_path = '')
+	public function load($langfile, $idiom = '', $return = FALSE, $add_suffix = TRUE, $alt_path = '')
 	{
 		return;
 	}
diff --git a/tests/mocks/libraries/session.php b/tests/mocks/libraries/session.php
index 9d6feee..c6e194f 100644
--- a/tests/mocks/libraries/session.php
+++ b/tests/mocks/libraries/session.php
@@ -4,6 +4,7 @@
  * Mock library to add testing features to Session driver library
  */
 class Mock_Libraries_Session extends CI_Session {
+
 	/**
 	 * Simulate new page load
 	 */
@@ -19,18 +20,18 @@
  * Mock cookie driver to overload cookie setting
  */
 class Mock_Libraries_Session_cookie extends CI_Session_cookie {
+
 	/**
 	 * Overload _setcookie to manage $_COOKIE values, since actual cookies can't be set in unit testing
 	 */
-	protected function _setcookie($name, $value = '', $expire = 0, $path = '', $domain = '', $secure = false,
-	$httponly = false)
+	protected function _setcookie($name, $value = '', $expire = 0, $path = '', $domain = '', $secure = FALSE, $httponly = FALSE)
 	{
-		if (empty($value) || $expire <= time()) {
-			// Clear cookie
+		if (empty($value) OR $expire <= time())
+		{
 			unset($_COOKIE[$name]);
 		}
-		else {
-			// Set cookie
+		else
+		{
 			$_COOKIE[$name] = $value;
 		}
 	}
@@ -39,5 +40,4 @@
 /**
  * Mock native driver (just for consistency in loading)
  */
-class Mock_Libraries_Session_native extends CI_Session_native { }
-
+class Mock_Libraries_Session_native extends CI_Session_native { }
\ No newline at end of file
